package com.geovis.emergency.spd.entity.pc.pojo.dto;

import com.geovis.emergency.spd.entity.pc.pojo.vo.SchedulingEventStatisticsVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import javax.validation.Valid;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 指挥调度大屏-事件DTO
 * </p>
 *
 * @author Lonsho
 * @version 1.0
 * @date 2022/10/25
 */
@Getter
@Setter
@ToString(callSuper = true)
@Accessors(chain = true)
@ApiModel(value = "PcSchedulingEventDTO", description = "指挥调度大屏-事件DTO")
public class PcSchedulingEventDTO {
    @ApiModelProperty("主事件id")
    @Length(max = 64, message = "主事件id不能超过{64}个字符")
    private String id;

    @ApiModelProperty("标题")
    @Length(max = 64, message = "标题最长不能超过{64}个字符")
    private String title;

    @ApiModelProperty("内容")
    @Length(max = 1000, message = "内容最长不能超过{1000}个字符")
    private String content;

    @ApiModelProperty("事发地点")
    @Length(max = 125, message = "事发地点最长不能超过{125}个字符")
    private String eventAddress;

    @ApiModelProperty("详细地址")
    @Length(max = 125, message = "详细地址最长不能超过{125}个字符")
    private String address;

    @ApiModelProperty("经度")
    @Length(max = 20, message = "经度最长不能超过{20}个字符")
    private String longitude;

    @ApiModelProperty("纬度")
    @Length(max = 20, message = "纬度最长不能超过{20}个字符")
    private String latitude;

    @ApiModelProperty("类型")
    @Length(max = 50, message = "类型最长不能超过{50}个字符")
    private String type;

    @ApiModelProperty("等级")
    @Length(max = 50, message = "等级最长不能超过{50}个字符")
    private String level;

    @ApiModelProperty("报送单位")
    @Length(max = 50, message = "报送单位最长不能超过{50}个字符")
    private String submitDept;

    @ApiModelProperty("报送时间")
    private LocalDateTime submitTime;

    @ApiModelProperty("接报时间")
    private LocalDateTime receiveTime;

    @ApiModelProperty("所属地区(行政区编码)")
    @Length(max = 20, message = "所属地区位最长不能超过{20}个字符")
    private String regionCode;

    @ApiModelProperty("情况统计集合")
    private List<@Valid SchedulingEventStatisticsVO> statisticsList;

    @ApiModelProperty("事件id（指挥大屏唯一标识）")
    private String eventId;

    @ApiModelProperty("台风编号")
    private String typhoonNo;
}
